xen: arm: remove /xen-core-devices node from dom0 dtb
authorIan Campbell <ian.campbell@citrix.com>
Fri, 22 Nov 2013 15:07:01 +0000 (15:07 +0000)
committerIan Campbell <ian.campbell@citrix.com>
Fri, 22 Nov 2013 16:30:23 +0000 (16:30 +0000)
commitd0c5781700a62d6024d9e765dec1d3657858c865
tree4a11a4ab709145860c581ed5b10a40cb4aad7a87
parent93218d8a25eb6f492d4a3a43b6bebe0b151b9214
xen: arm: remove /xen-core-devices node from dom0 dtb

The intention of adding this node to contain the GIC, timer and memory nodes
(in 1c08d6004ea7) was to allow us to control the #address-cells and

However in the case of the memory node the #*-cells are always taken from the
root node (see ePAPR 3.1, "the following nodes shall be present at the root...
memory node"). This caused breakage on the arndale platform.

In addition it is not valid to just create sub-nodes like this. Unless they
declare themselves as a bus then they will not necessarily be enumerated
(although Linux currently does so in practice).

Therefore:
 - Move the memory node back to the top level.
 - Insert the timer and primary gic nodes in the same location as the host
   DTB, replacing the originals. Note that the nodes here may be marked as in
   use by Xen and therefore the check must be before we discard nodes used by
   Xen.
 - Drop any secondary gics.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Julien Grall <julien.grall@linaro.org>
Tested-by: Julien Grall <julien.grall@linaro.org>
xen/arch/arm/domain_build.c